Parallelizing Molecular Dynamics Programs for Distributed Memory Machines: An Application of the CHAOS Runtime Support Library
نویسندگان
چکیده
CHARMM (Chemistry at Harvard Macromolecular Mechanics) is a program that is widely used to model and simulate macromolecular systems. CHARMM has been parallelized by using the CHAOS runtime support library on distributed memory architectures. This implementation distributes both data and computations over processors. This data-parallel strategy should make it possible to simulate very large molecules on large numbers of processors. In order to minimize communication among processors and to balance computational load, a variety of partitioning approaches are employed to distribute the atoms and computations over processors. In this implementation, atoms are partitioned based on geometrical positions and computational load by using unweighted or weighted recursive coordinate bisection. The experimental results reveal that taking computational load into account is essential. The performance of two iteration partitioning algorithms, atom decomposition and force decomposition, is also compared. A new irregular force decomposition algorithm is introduced and implemented. The CHAOS library is designed to facilitate parallelization of irregular applications. This library (1) couples partitioners to the application programs, (2) remaps data and partitions work among processors, and (3) optimizes interprocessor communications. This paper presents an application of CHAOS that can be used to support efficient execution of irregular problems on distributed memory machines. ± This work was sponsored in part by ARPA (NAG-1-1485) and NSF (ASC 9213821).
منابع مشابه
Runtime and Language Support for Compiling Adaptive Irregular Programs on Distributed-memory Machines
In many scientific applications, arrays containing data are indirectly indexed through indirection arrays. Such scientific applications are called irregular programs and are a distinct class of applications that require special techniques for parallelization. This paper presents a library called CHAOS, which helps users implement irregular programs on distributed memory message-passing machines...
متن کاملAn Integrated Runtime and Compile-time Approach for Parallelizing Structured and Block Structured Applications an Integrated Runtime and Compile-time Approach for Parallelizing Structured and Block Structured Applications
Scientiic and engineering applications often involve structured meshes. These meshes may be nested (for multigrid codes) and/or irregularly coupled (called multiblock or irregularly coupled regular mesh problems). In this paper, we present a combined runtime and compile-time approach for parallelizing these applications on distributed memory parallel machines in an eecient and machine-independe...
متن کاملcient Runtime Support for Parallelizing Block Structured Applications 1
Scientiic and engineering applications often involve struc-tured meshes. These meshes may be nested (for multigrid codes) and/or irregularly coupled (called multiblock or irregularly coupled regular mesh problems). In this paper, we describe a runtime library for parallelizing these applications on distributed memory parallel machines in an ef-cient and machine-independent fashion. This runtime...
متن کاملMOERAE: Portable, Thread-Based Interface between Parallelizing Compilers and Shared-Memory Multiprocessorsy
Shared-memory multiprocessor (SMP) machines have become widely available. As the user community grows, the importance of compilers that can translate standard, sequential programs onto this machine class is increasing. In this paper we deal with the issue of how such parallelizing compilers generate code that can be re-targeted easily and eeciently at diierent machines. The goal is to create a ...
متن کاملApplying the CHAOS / PARTI Library to Irregular Problems
This paper describes a number of optimizations that can be used to support the eecient execution of irregular problems on distributed memory parallel machines. We describe software primitives that (1) coordinate in-terprocessor data movement, (2) manage the storage of, and access to, copies of oo-processor data, (3) minimize interprocessor communication requirements and (4) support a shared nam...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1994